﻿using System;
using Volo.Abp.Domain.Entities.Auditing;
using YaAppoint.Appointments;
using YaAppoint.Appointments.Schedules;

namespace YaAppoint
{
    /// <summary>
    /// 号池计划
    /// </summary>
    public class PlanPool:FullAuditedEntity<Guid>
    {
        public bool IsActive { get; set; }

        /// <summary>
        /// 时间段
        /// </summary>
        public virtual TimeInterval TimeInterval { get; set; }

        /// <summary>
        /// 时间段ID
        /// </summary>
        public virtual Guid TimeIntervalId { get; set; }

        /// <summary>
        /// 最大数量
        /// </summary>
        public virtual int MaxCount { get; set; } = 10;
        
        /// <summary>
        /// 允许超限
        /// </summary>
        public virtual bool AllowOverFlow { get; set; } = false;


        /// <summary>
        /// 允许超限数量
        /// </summary>
        public virtual int OverFlowCount { get; set; } = 3;

        /// <summary>
        /// 所属排班表
        /// </summary>
        public virtual Schedule Schedule { get; set; }

        /// <summary>
        /// 所属排班表Id
        /// </summary>
        public virtual Guid ScheduleId { get; set; }

        /// <summary>
        /// 星期几？
        /// </summary>
        public virtual DayInWeek DayInWeek { get; set; }
    }
}
